package com.aida.evil.eda.SQL.UserData;

import android.content.Context;

import com.aida.evil.eda.SQL.Eda_DataBaseHelper;
import com.j256.ormlite.android.apptools.OpenHelperManager;
import com.j256.ormlite.dao.RuntimeExceptionDao;

import java.util.List;

/****************************************************
 * com.aida.evil.eda.SQL.UserData.User_Sql
 * 作者：白雨濃  evil
 * 时间：16-4-12 15:21
 * 邮箱：evilbai@foxmail.com
 * 页面用途：
 ****************************************************/
public class User_Sql
{
    /*主要是处理了过多繁琐的try…catch…的书写，和一些语法错误带来的崩溃，建议使用。*/
    private RuntimeExceptionDao<User_data, Integer> runtimeExceptionDao;
    private Eda_DataBaseHelper edaDataBaseHelper;
    private Context context;

    private User_data user_data;


    public User_Sql(Context context)
    {
        this.context = context;
          /*获得runtimeExceptionDao从DataBaseHelper中*/
        runtimeExceptionDao = getHelper().getUserRuntimeExceptionDao();
    }


    private Eda_DataBaseHelper getHelper()
    {
        if (edaDataBaseHelper == null)
        {
            edaDataBaseHelper = OpenHelperManager.getHelper(context, Eda_DataBaseHelper.class);
        }
        return edaDataBaseHelper;
    }


    /**
     * 插入
     *
     * @param userPhoneNum
     * @param password
     */
    public void intsert(String userPhoneNum, String password)
    {
        user_data = new User_data();

        user_data.setUserPhoneNum(userPhoneNum);
        user_data.setPassword(password);

        runtimeExceptionDao.createIfNotExists(user_data);//提交
    }

    /**
     * 更新数据（推荐使用）
     * @param userPhoneNum
     * @param password
     */
    public void update(String userPhoneNum, String password)
    {
        user_data = new User_data();

        user_data.setUserPhoneNum(userPhoneNum);
        user_data.setPassword(password);

        runtimeExceptionDao.createOrUpdate(user_data);//新建或更新
    }

    /**
     * 删除所有
     */
    public int deleteAll()
    {
        return runtimeExceptionDao.delete(queryAll());
    }

    /**
     * 查询所有，返回Item数组
     *
     * @return
     */
    public List<User_data> queryAll()
    {
        List<User_data> user_datas = runtimeExceptionDao.queryForAll();
        return user_datas;
    }

}
